package team.seekers.hula.island.post.entity.vo;

import lombok.*;
import team.seekers.hula.common.annotation.HulaJsonFormat;
import team.seekers.hula.common.entity.BaseDTO;
import team.seekers.hula.island.post.entity.dto.IslandPostLinkDTO;
import team.seekers.hula.island.postComment.entity.vo.PostCommentListVO;
import team.seekers.hula.user.userFollow.entity.vo.UserFollowInfoVO;

import java.util.Date;
import java.util.List;

/**
 * @author ekin
 * @Description GOOD
 * @mood happy
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class IslandPostListVO extends BaseDTO {

    private String id;

    private Integer type;

    private String title;

    private String content;

    private String nickname;

    private String location;

    private Integer visibility;

    private String userId;

    private List<String> pictures;

    private List<PostCommentListVO> comments;

    private List<IslandPostLinkDTO> links;

    private Integer likeCount;

    private Integer commentCount;

    @HulaJsonFormat
    private Date gmtCreate;

    private UserFollowInfoVO userInfo;

    private Boolean isMine;

    private Boolean isLike;
}
